package com.hongpu.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;

import com.hongpu.domain.ProjectManager;
import com.hongpu.utils.ResultDto;
import com.hongpu.vo.CompanyTypeVo;
import com.hongpu.vo.ProjectManagerSelectVo;
import com.hongpu.vo.ProjectManagerVo;
import com.hongpu.vo.ProjectTypeVo;

import java.util.List;

/**
* @author Michael zhang
* @description 针对表【project_manager(项目管理)】的数据库操作Service
* @createDate 2025-04-27 11:31:30
*/
public interface ProjectManagerService extends IService<ProjectManager> {
    /**
     * 分页查询
     * @param page
     * @param projectManager
     * @return
     */
    public IPage<ProjectManagerVo> selectPage(IPage<?> page, ProjectManager projectManager);
    /**
     * 查询所有
     * @param projectManager
     * @return
     */
    public ResultDto list(ProjectManager projectManager);

    public List<ProjectManagerSelectVo> optionList();

    public List<CompanyTypeVo> companyType();

    public List<ProjectTypeVo> projectType();

    /**
     * 查询项目名称是否重复
     * @param projectName
     * @return
     */
    public boolean selectByProjectName(String name);

    /**
     * 删除项目，在删除前需要验证是否存在关联数据
     */
    public ResultDto deleteById(Long id);

    public ResultDto add(ProjectManager projectManager);

    /**
     * 修改项目信息
     */
    public ResultDto update(ProjectManager projectManager);

}
